Melody transcription via generative pre-training
#mir
#audio
#transfer_learning
#transcription
日付
2023/4/22
https://scrapbox.io/files/6442867cbaf02a001b9958b6.png
https://scrapbox.io/files/6442869bf8aaa8001cb0455b.png
論文リンク
https://arxiv.org/abs/2212.01884
文献情報
Melody transcription via generative pre-training
Chris Donahue, John Thickstun, Percy Liang
ISMIR 2022
Code: https://github.com/chrisdonahue/sheetsage
https://chrisdonahue.com/sheetsage/
要は何?
Jukebox(Codified audio representation)を特徴量に用いて伴奏音付きの音楽音源からメロディの採譜を採譜する.
また,そのためのデータセットも公開
問題意識と解決策
さまざまな楽器パートが存在する中でのメロディの採譜は難しく,hand-craftなモデリングでは有用な特徴抽出ができないことも
アノテーションも難しく,データセット不足で深層学習アプローチも精度を出せない
yamamoto.icon ピアノだったらdisklavier等で弾けばデータを貯めれる,みたいなこともできない...
-> Jukeboxの中間特徴を使う
さらに,HookTheoryで収集した50時間のメロディアノテーションつきデータセットを公開.-> アノテーションエラーはmadmomのbeat trackingで修正し,ビート量子化されたアノテーションとした
手法
タスクの定義
入力:長さ$ Tの音楽音響信号$ aを,フレームレート$ f_s,次元$ dを持つ特徴量時系列$ X \in \mathbb{R}^{d \times Tf_s}に変換
出力:$ y = (onset, pitch\_value)=(t_i,n_i)
データセット
HookTheoryから収集
約13000曲,22000セグメント,計50時間
アーティストが別のsetに出ないように8:1:1に分割
yamamoto.icon これは音楽音響信号の識別だとよくある分割の仕方
特徴表現
CALM と同じく,JukeboxのTransformer layerの出力を用いる
CALMが用いた36層目ではなく53層目を用いた
加えて,MT3の特徴量(エンコーダーの出力)も用いる
-> Jukeboxが内部的に持つ音楽の多様性と,MT3の採譜特化の特徴抽出を併せ持つように
バックエンド
Transformer. 4層.
モデリング
Beat-wise sampling された特徴量 $ \tilde{X}から オンセット$ tピッチ$ nを推定
https://scrapbox.io/files/6443984a465540001c6aec91.png
オンセット -> 最近傍のビートに集約
ピッチ -> 識別問題
ロス関数
Hook theory datasetはオクターブ情報がないため,オクターブシフトを許容するロス
$ \min_{\sigma \in \mathbb{z}} \sum_{i=0}^{4B-1}{CE(p_\theta(\tilde{y_i}|\tilde{X}), octaveshift(\tilde{y_i},\sigma)})
実際の音符への変換は以下のルール
https://scrapbox.io/files/644397ba39675e001be75d85.png
$ \tau:オンセット閾値
アライメント修正
HookTheoryのアノテーターごとにメロディのオンセットのタイミングはバラバラ
madmomのビートトラッキングによってこのばらつきを修正
特徴量のBeat-wise Resampling -> $ \tilde{X}
データの性質上,Disklavierで収集したピアノ演奏のように完璧なタイミングのアラインはできないので,ビートごとにリサンプルを行う -> 最小単位を16分音符とした平均プーリング
yamamoto.icon こうしたのは,ビートにアラインさせないオーソドックスなTranscriptionタスクや,アライメントフリーな手法(CTC)による採譜が上手くいかなかったことを事前に確認したかららしい.
yamamoto.icon Limitationとして,この手法では最近傍ビートに集約させたため,その中でのズレは存在しうると記述
実験とその結果
実験条件
GPU 12GB 長さは$ min(96beats, 24s)にチャンク
1. Jukeboxの効果(入力特徴の比較)
メルスペクトログラム(Onset and Framesの設定)
MT3の特徴
Jukeboxの特徴
また,これらのコンビネーションも比較(結合はconcatで)
評価はHooktheoryのtestを使用.
https://scrapbox.io/files/64439b72318cd3001cb81e9f.png
d:次元 F1: 音符に対するF値
単体だとJukeboxがtop.MT3またはメルスペクトログラムをJukeboxにconcatするとさらに性能向上
特にJukeboxの適用は調にない音として採譜することを抑制する効果があるよう.
2. 他のMelody transcriptionとの比較
RWC-MDBの10曲のサブセットでテスト
https://scrapbox.io/files/64439bdcd1c063001c5795f9.png
ソフトウェア「Sheetsage」
https://scrapbox.io/files/64439e498bd265001c16bfee.png
リポジトリからダウンロードして使えるらしい.(yamamoto.iconの環境ではyoutube_dlがこけて動かなかった...)
コメント
バックエンドはTransformerでなくてはいけないのか?あまりここにTransformerを使う旨味が説明されていないような...
yamamoto.icon タスク的には系列+局所情報の方が重要なはずで,LSTMでもよさそう.
音源分離をしていない点は特筆すべき.
SoTAのNonビートアライン型歌声採譜との比較もほしいところ.問題設定は多少異なるが,Jukeboxが混合音からの歌声の特徴の補足に用いることができるかどうかの度合いについての検証をして欲しい.個人的に興味ある.